package com.alex.springbootdemo.service;

import com.alex.springbootdemo.controller.UmsAdminController;
import com.alex.springbootdemo.model.param.UserLoginParam;
import com.alex.springbootdemo.model.pojo.UmsAdmin;
import com.alex.springbootdemo.model.pojo.UmsPermission;
import com.alex.springbootdemo.model.vo.JWTToken;
import org.springframework.security.core.userdetails.UserDetails;

import java.util.List;

public interface UmsAdminService {
    UmsAdmin register(UmsAdmin param);

    JWTToken login(UserLoginParam param);

    UmsAdmin getAdminByUsername(String username);

    List<UmsPermission> getPermissionList(Long userId);

    JWTToken refreshToken(UmsAdminController.RefreshTokenRequest param);

    UserDetails loadUserByUsername(String username);
}
